package br.com.sjdr.projeto.persistencia;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;

import br.com.sjdr.projeto.pessoa.Fornecedor;
/**
 * Classe respons�vel por gravar e ler arquivos referentes aos fornecedores da empresa.
 * Os dados vindos de um vetor s�o salvos em arquivos texto .txt para a poss�vel 
 * futura utiliza��o. Sempre � executada no in�cio e fim do programa.
 * @author thalim
 *
 */
public class PersistirFornecedor {

	public static ArrayList<Fornecedor> fornecedorlist = new ArrayList<Fornecedor>();

	/**
	 * M�todo respons�vel por gravar o nome,cnpj,c�digo, endere�o e telefone de todos os
	 * fornecedores presentes no vetor fornecedorlist em um arquivo texto(.txt) "arqFornecedor.txt"
	 * onde poder� ser lido na abertura do programa para reutilizar os dados.
	 * @throws Exception
	 */
	public static void escreverFornecedor() throws IOException {

		File arqCli = new File("arqFornecedor.txt");
		FileWriter escritor = new FileWriter(arqCli);
		PrintWriter escrever = new PrintWriter(escritor);

		if (fornecedorlist.size() >= 0) {
			for (int i = 0; i < fornecedorlist.size(); i++) {
				escrever.println();
				escrever.println(fornecedorlist.get(i).getNome());
				escrever.println(fornecedorlist.get(i).getCNPJ());
				escrever.println(fornecedorlist.get(i).getCodigo());
				escrever.println(fornecedorlist.get(i).getEndereco());
				escrever.println(fornecedorlist.get(i).getTelefone());
			}

			escrever.close();
			escritor.close();
		}

	}

	/**M�todo respons�vel por verificar se o arquivo arqFornecedor.txt existe. Caso 
	 * ele exista, � gravado todos os dados presentes no arquivo no vetor Fornecedorlist.
	 * @throws IOException
	 */
	public static void lerFornecedor() throws IOException {

		File arquivo = new File("arqFornecedor.txt");
		if (arquivo.exists()) {
			lerFornecedorlist();
		}

	}

	/**
	 * M�todo respons�vel por ler o nome,cnpj,c�digo, endere�o e telefone de todos os
	 * fornecedores presentes no arquivo texto(.txt) "arqFornecedor.txt"
	 * onde foi gravado na sa�da do programa para reutilizar os dados.
	 * @throws Exception
	 */
	private static void lerFornecedorlist() throws IOException {

		File arqCli = new File("arqFornecedor.txt");
		FileReader filereader = new FileReader(arqCli);
		BufferedReader leitor = new BufferedReader(filereader);
		@SuppressWarnings("unused")
		String linha = null;

		while ((linha = leitor.readLine()) != null) {

			Fornecedor c = new Fornecedor();
			c.setNome(leitor.readLine());
			c.setCNPJ(leitor.readLine());
			c.setCodigo(leitor.readLine());
			c.setEndereco(leitor.readLine());
			c.setTelefone(leitor.readLine());
			fornecedorlist.add(c);
		}
	}
}
